// Compiler options: -r:gtest-161-lib.dll
public class App {
  public static void Main() {
    string s = apply<int, string>(3,
                                  delegate (int x) {
                                    return x.ToString(); });
    int y = apply<int, int>(3, FP.identity<int>);
  }

  static U apply<T, U>(T obj, FP.Mapping<T, U> f) {
    return f(obj);
  }
}
